<template>
	<slot :controller="controller" :store="store" :model="model">
		<AppForm
			ref="editForm"
			v-bind="$attrs"
			:id="controlID"
			:name="model.codeName"
			:class="classNames"
			:data="store.data"
		>
			<AppAnchor
				v-if="store.anchorData.length > 0"
				:controlID="controlID"
				:anchorData="store.anchorData"
			/>
			<div class="control-content app-control-form__content">
				<AppRow :layoutOpts="{ selfLayout: 'TABLE_24COL' }">
					<AppCol
						noRoot
						:visible="store.detailModel.group1.visible"
						:layoutOpts="{
							selfLayout: 'TABLE_24COL',
							parentLayout: 'TABLE_24COL',
							colMD: 24,
						}"
					>
						<template #default="{ slotClass, slotStyle }">
							<slot
								name="group1"
								:controller="controller"
								:store="store"
								:model="model"
								:slotClass="slotClass"
								:slotStyle="slotStyle"
								:actions="{ handleComponentAction }"
							>
								<AppFormGroup
									name="group1"
									v-show="store.detailModel.group1.visible"
									:slotClass="slotClass"
									:slotStyle="slotStyle"
									:layoutOpts="{
										selfLayout: 'TABLE_24COL',
										parentLayout: 'TABLE_24COL',
										colMD: 24,
									}"
									title="人员基本信息"
									subCaption=""
									:enableAnchor="false"
									:showMoreItems="store.detailModel.group1.showMoreItems"
									:showMoreMode="store.detailModel.group1.showMoreMode"
									:infoGroupMode="false"
									:titleBarCloseMode="0"
									:showCaption="false"
									:uIActionGroup="store.detailModel.group1.uIActionGroup"
									@component-action="(actionParam: any) => { handleComponentAction(controller, actionParam) }"
								>
									<AppCol
										noRoot
										:visible="store.detailModel.display_name.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="display_name"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="display_name"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="名称"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.display_name.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="display_nameEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="display_name"
																:isDebounce="false"
																:disabled="
																	store.detailModel.display_name.disabled
																"
																:value="store.data.display_name"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.uid.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="uid"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="uid"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="登录名"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.uid.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="uidEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="uid"
																:isDebounce="false"
																:disabled="store.detailModel.uid.disabled"
																:value="store.data.uid"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.identification_number.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="identification_number"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="identification_number"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="证件号"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="
														store.detailModel.identification_number.valueRule
													"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="identification_numberEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="identification_number"
																:isDebounce="false"
																:disabled="
																	store.detailModel.identification_number
																		.disabled
																"
																:value="store.data.identification_number"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.title.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="title"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="title"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="职位"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.title.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="titleEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="title"
																:isDebounce="false"
																:disabled="store.detailModel.title.disabled"
																:value="store.data.title"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.mobile.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="mobile"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="mobile"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="移动电话"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.mobile.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="mobileEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="mobile"
																:isDebounce="false"
																:disabled="store.detailModel.mobile.disabled"
																:value="store.data.mobile"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.telephone_number.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="telephone_number"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="telephone_number"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="联系电话"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.telephone_number.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="telephone_numberEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="telephone_number"
																:isDebounce="false"
																:disabled="
																	store.detailModel.telephone_number.disabled
																"
																:value="store.data.telephone_number"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.mail.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="mail"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="mail"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="电子邮箱"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.mail.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="mailEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="mail"
																:isDebounce="false"
																:disabled="store.detailModel.mail.disabled"
																:value="store.data.mail"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.postal_address.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="postal_address"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="postal_address"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="地址"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.postal_address.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="postal_addressEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="postal_address"
																:isDebounce="false"
																:disabled="
																	store.detailModel.postal_address.disabled
																"
																:value="store.data.postal_address"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.employee_type.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="employee_type"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="employee_type"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="类型"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.employee_type.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="employee_typeEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="employee_type"
																:isDebounce="false"
																:disabled="
																	store.detailModel.employee_type.disabled
																"
																:value="store.data.employee_type"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.employee_number.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="employee_number"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="employee_number"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="人员编号"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.employee_number.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="employee_numberEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="employee_number"
																:isDebounce="false"
																:disabled="
																	store.detailModel.employee_number.disabled
																"
																:value="store.data.employee_number"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.organization_name1.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="organization_name1"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="organization_name1"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="组织机构名称"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="
														store.detailModel.organization_name1.valueRule
													"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="organization_name1Editor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppDataPicker
																valueItem="organization_id"
																:localParam="{ srfparentdename: '' }"
																:context="store.context"
																:viewParams="store.viewParams"
																deMajorField="organization_name"
																deKeyField="id"
																deCodeName="SYS_ORGANIZATION"
																:acParams="{
																	serviceName: 'Sys_organization',
																	interfaceName: 'FetchMyOrg',
																}"
																v-bind="{
																	editorType: 'PICKEREX_TRIGGER',
																	AC: 'TRUE',
																	TRIGGER: 'TRUE',
																	PICKUPVIEW: 'FALSE',
																}"
																:isDropdown="true"
																style=""
																name="organization_name1"
																:disabled="
																	store.detailModel.organization_name1.disabled
																"
																:data="store.data"
																:value="store.data.organization_name1"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.id.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 8,
											colMD: 8,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="id"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="id"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="标识"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.id.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="idEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppSpan
																:context="store.context"
																:viewParams="store.viewParams"
																:dataType="25"
																v-bind="{ editorType: 'SPAN' }"
																deMajorField=""
																editorType="SPAN"
																style=""
																name="id"
																noValueShowMode="STYLE1"
																:value="store.data.id"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.description.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 24,
											colMD: 24,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="description"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="description"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="描述"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.description.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="descriptionEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{
																	editorType: 'TEXTAREA_10',
																	HEIGHT: 200,
																}"
																:isTextArea10="true"
																type="textarea"
																style="height: 70px"
																name="description"
																:isDebounce="false"
																:disabled="
																	store.detailModel.description.disabled
																"
																:value="store.data.description"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
								</AppFormGroup>
							</slot>
						</template>
					</AppCol>
					<AppCol
						noRoot
						:visible="store.detailModel.member_of.visible"
						:layoutOpts="{
							selfLayout: 'TABLE_24COL',
							parentLayout: 'TABLE_24COL',
							colMD: 24,
						}"
					>
						<slot
							name="member_of"
							:controller="controller"
							:store="store"
							:model="model"
							:actions="{ handleComponentAction }"
						>
							<AppFormMdCtrlRepeater
								caption="用户组"
								name="member_of"
								:layoutOpts="{
									selfLayout: 'TABLE_24COL',
									parentLayout: 'TABLE_24COL',
									colMD: 24,
								}"
								:parentData="store.data"
								:context="store.context"
								:viewParams="store.viewParams"
								:children="[
									{ name: 'sort', type: 'FORMITEM', caption: '排序' },
									{
										name: 'organizational_role_id',
										type: 'FORMITEM',
										caption: '用户组',
									},
									{
										name: 'department_name',
										type: 'FORMITEM',
										caption: '部门',
									},
									{
										name: 'organization_name',
										type: 'FORMITEM',
										caption: '组织机构',
									},
								]"
								mode="STYLE2"
								@component-action="(actionParam: any) => { handleComponentAction(controller, actionParam) }"
							>
								<template
									#sort="{ context, viewParams, data, handleComponentAction }"
								>
									<AppCol
										noRoot
										:visible="store.detailModel.sort.visible"
										:layoutOpts="{ parentLayout: 'TABLE_24COL', colMD: 24 }"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="sortEditor"
												:data="data"
												:context="context"
												:viewParams="viewParams"
												:controller="controller"
												:store="store"
												:model="model"
												:actions="{ handleComponentAction }"
											>
												<AppInput
													v-bind="{ editorType: 'TEXTBOX' }"
													type="text"
													style=""
													name="sort"
													:isDebounce="false"
													:disabled="store.detailModel.sort.disabled"
													:value="data.sort"
													@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
												/>
											</slot>
										</template>
									</AppCol>
								</template>
								<template
									#organizational_role_id="{
										context,
										viewParams,
										data,
										handleComponentAction,
									}"
								>
									<AppCol
										noRoot
										:visible="store.detailModel.organizational_role_id.visible"
										:layoutOpts="{ parentLayout: 'TABLE_24COL', colMD: 24 }"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="organizational_role_idEditor"
												:data="data"
												:context="context"
												:viewParams="viewParams"
												:controller="controller"
												:store="store"
												:model="model"
												:actions="{ handleComponentAction }"
											>
												<AppDropdownList
													codeListTag="ad__Sys_all_group_of_names"
													codeListType="DYNAMIC"
													v-bind="{
														editorType: 'DROPDOWNLIST',
														editorStyle: 'tree',
													}"
													editorStyle="tree"
													:multiple="false"
													:context="store.context"
													:viewParams="store.viewParams"
													style=""
													name="organizational_role_id"
													:disabled="
														store.detailModel.organizational_role_id.disabled
													"
													:value="data.organizational_role_id"
													:data="data"
													@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
												/>
											</slot>
										</template>
									</AppCol>
								</template>
								<template
									#department_name="{
										context,
										viewParams,
										data,
										handleComponentAction,
									}"
								>
									<AppCol
										noRoot
										:visible="store.detailModel.department_name.visible"
										:layoutOpts="{ parentLayout: 'TABLE_24COL', colMD: 24 }"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="department_nameEditor"
												:data="data"
												:context="context"
												:viewParams="viewParams"
												:controller="controller"
												:store="store"
												:model="model"
												:actions="{ handleComponentAction }"
											>
												<AppSpan
													:context="store.context"
													:viewParams="store.viewParams"
													:dataType="25"
													v-bind="{ editorType: 'SPAN' }"
													deMajorField=""
													editorType="SPAN"
													style=""
													name="department_name"
													noValueShowMode="STYLE1"
													:value="data.department_name"
												/>
											</slot>
										</template>
									</AppCol>
								</template>
								<template
									#organization_name="{
										context,
										viewParams,
										data,
										handleComponentAction,
									}"
								>
									<AppCol
										noRoot
										:visible="store.detailModel.organization_name.visible"
										:layoutOpts="{ parentLayout: 'TABLE_24COL', colMD: 24 }"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="organization_nameEditor"
												:data="data"
												:context="context"
												:viewParams="viewParams"
												:controller="controller"
												:store="store"
												:model="model"
												:actions="{ handleComponentAction }"
											>
												<AppSpan
													:context="store.context"
													:viewParams="store.viewParams"
													:dataType="25"
													v-bind="{ editorType: 'SPAN' }"
													deMajorField=""
													editorType="SPAN"
													style=""
													name="organization_name"
													noValueShowMode="STYLE1"
													:value="data.organization_name"
												/>
											</slot>
										</template>
									</AppCol>
								</template>
							</AppFormMdCtrlRepeater>
						</slot>
					</AppCol>
				</AppRow>
			</div>
		</AppForm>
	</slot>
</template>
<script setup lang="ts">
// 基于template/src/widgets/{{appEntities}}/{{ctrls@FORM}}-form/{{spinalCase ctrl.codeName}}-form-base.vue.hbs生成

import { Ref } from 'vue';
import { AppAnchor } from '@components/common/anchor';
import { AppCol } from '@/components/common/col';
import { AppRow } from '@/components/common/row';
import {
	AppForm,
	AppFormPage,
	AppFormGroup,
	AppFormTabPage,
	AppFormItem,
	AppFormButton,
	AppFormDruipart,
	AppFormIframe,
	AppFormRaw,
	AppFormMdCtrl,
	AppFormMdCtrlRepeater,
} from '@components/widgets/form';
import {
	IEvent,
	EditFormActionType,
	IEditFormAbility,
	IEditFormStore,
	IParam,
} from '@/core';
import {
	useProps,
	useBasic,
	useAction,
	useController,
} from './usr-0308822917-form-hook';

const editForm: Ref = ref(null);

// 输入参数
const props = defineProps(useProps());

// 基础数据
const {
	controlID,
	getClassNames,
	model,
	useNavParamsBind,
	useEventBind,
	handleActionClick,
	handleComponentAction,
} = useBasic(props);

const emit = defineEmits<{
	(
		event: 'ctrl-action',
		name: string,
		action: EditFormActionType,
		data: IParam[]
	): void;
	(event: 'ctrl-init', name: string, data: IEditFormAbility): void;
	(event: 'ctrl-destroy', name: string, data: IParam): void;
}>();

const evt = useEventBind(emit);
//  部件样式名
const classNames = computed(() => {
	return getClassNames(props);
});

//  表单控制器
const controller = useController(props, evt, { controlID, editForm });

useNavParamsBind(controller, props);

const store: IEditFormStore = controller.getStore();

const ctrlService = controller.getCtrlService();

onMounted(() => {
	controller.ctrlMounted();
});
onUnmounted(() => {
	controller.ctrlDestroy();
});
</script>
